<html>
<head>
<title>Included Workflow Components</title>
<link href="book.css" rel="stylesheet" type="text/css"/>
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator"/>
<link rel="home" href="index.html" title="Modeling Workflow Engine Reference"/>
<link rel="up" href="index.html" title="Modeling Workflow Engine Reference"/>
<link rel="prev" href="workflow_reference_workflow_components.html" title="Workflow components"/>
<link rel="next" href="workflow_reference_workflow_configuration.html" title="Workflow Configuration"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Included Workflow Components</h1>
<div class="section" title="Included Workflow Components">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="workflow_reference_included_workflow_components"/>Included Workflow Components</h2>
</div>
</div>
</div>
    
    The Modeling Workflow Engine comes with several useful workflow components. Some of
    these components need to be described in detail.
    
    <div class="section" title="DirectoryCleaner (org.eclipse.emf.mwe.utils.DirectoryCleaner)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="workflow_reference_directorycleaner"/>DirectoryCleaner (org.eclipse.emf.mwe.utils.DirectoryCleaner)</h3>
</div>
</div>
</div>
<p>
      This component allows you to clean up a directory that contains generated artifacts
      before (re-)generating these artifacts.
      </p>
<p>
      The DirectoryCleaner component provides the following configuration properties:
      </p>
<div class="table">
<a name="properties_directorycleaner"/>
<p class="title">
<b>Table 1. Properties of <code class="classname">DirectoryCleaner</code> </b>
</p>
<div class="table-contents">
<table summary="Properties of DirectoryCleaner " cellspacing="0" cellpadding="10" style="border-collapse: collapse;border-top: 0.5pt solid ; border-bottom: 0.5pt solid ; border-left: 0.5pt solid ; border-right: 0.5pt solid ; ">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">Name of property</th>
<th style="border-bottom: 2 solid #000000; " align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                            directory
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                            Sets the path to the directory that should be cleaned. All subdirectories
                            will be cleaned up as well.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                            useDefaultExcludes
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                            This boolean value determines if directories that are internally used by 
                            version control systems, should be excluded from the cleanup. If this
                            property is enabled, the directories that are used internally by 
                            i.e. Subversion will <span class="emphasis">
<em>not</em>
</span> be cleaned up.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; " align="left">
                            excludes
                        </td>
<td style="" align="left">
                            This property allows to add further directories that should be excluded
                            from the cleanup process.
                        </td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break"/>
</div>
<div class="section" title="IfComponent (org.eclipse.emf.mwe.core.container.IfComponent)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="workflow_reference_ifcomponent"/>IfComponent (org.eclipse.emf.mwe.core.container.IfComponent)</h3>
</div>
</div>
</div>
<p>
      The IfComponent is a very simple component that allows e.g. to temporarily disable
      one or more subcomponents.
      </p>
<p>
      For example:
      </p>
<pre class="programlisting">&lt;workflow&gt;
     &lt;component class="my.first.WorkflowComponent"&gt;
            &lt;aProp value="test"/&gt;
     &lt;/component&gt;
     &lt;if cond="false"&gt;
     &lt;component class="my.second.WorkflowComponent"&gt;
            &lt;anotherProp value="test2"/&gt;
     &lt;/component&gt;
     &lt;/if&gt;
     &lt;component class="my.third.WorkflowComponent"&gt;
            &lt;prop value="test"/&gt;
     &lt;/component&gt;
     &lt;/workflow&gt;</pre>
<p>
      This components provides only a single property:
      </p>
<div class="table">
<a name="properties_ifcomponent"/>
<p class="title">
<b>Table 2. Properties of <code class="classname">IfComponent</code>
</b>
</p>
<div class="table-contents">
<table summary="Properties of IfComponent" cellspacing="0" cellpadding="10" style="border-collapse: collapse;border-top: 0.5pt solid ; border-bottom: 0.5pt solid ; border-left: 0.5pt solid ; border-right: 0.5pt solid ; ">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">Name of property</th>
<th style="border-bottom: 2 solid #000000; " align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border-right: 2 solid #000000; " align="left">
                            cond
                        </td>
<td style="" align="left">
                            Determines if the subcomponents will be executed or not. Only
                            the values <span class="emphasis">
<em>true</em>
</span> or <span class="emphasis">
<em>false</em>
</span>
                            are allowed.
                        </td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break"/>
</div>
<div class="section" title="StandaloneSetup (org.eclipse.emf.mwe.utils.StandaloneSetup)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="workflow_reference_standalonesetup"/>StandaloneSetup (org.eclipse.emf.mwe.utils.StandaloneSetup)</h3>
</div>
</div>
</div>
<p>
      The StandaloneSetup class is not a workflow component in the narrow sense. However,
      this class needs to be referenced from within the workflow in order to set up the
      EMF metamodel in standalone mode.
      </p>
<p>
      StandaloneSetup provides the following properties:
      </p>
<div class="table">
<a name="properties_standalonesetup"/>
<p class="title">
<b>Table 3. Properties of <code class="classname">StandaloneSetup</code>
</b>
</p>
<div class="table-contents">
<table summary="Properties of StandaloneSetup" cellspacing="0" cellpadding="10" style="border-collapse: collapse;border-top: 0.5pt solid ; border-bottom: 0.5pt solid ; border-left: 0.5pt solid ; border-right: 0.5pt solid ; ">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">Name of property</th>
<th style="border-bottom: 2 solid #000000; " align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                            platformUri                        
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                            Sets the path to the platform. In general, this should be
                            set to the path of the current workspace.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                            uriMap                            
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                        Registers a URI mapping that allows to map one URI to another.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                          extension  
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                        Allows to register a factory class for a certain file extension.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                            registerGeneratedEPackage
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                            Allows to register an externally generated EPackage.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; " align="left">
                            registerEcoreFile                            
                        </td>
<td style="" align="left">
                            Allows to register an Ecore file.
                        </td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break"/>
</div>
<div class="section" title="Writer (org.eclipse.emf.mwe.utils.Writer)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="workflow_reference_writer"/>Writer (org.eclipse.emf.mwe.utils.Writer)</h3>
</div>
</div>
</div>
<p>
      The Writer component allows you to write out models stored in a model slot into a file.
      </p>
<p>
      The Writer component provides the following configuration properties:
      </p>
<div class="table">
<a name="properties_writer"/>
<p class="title">
<b>Table 4. Properties of <code class="classname">Writer</code>
</b>
</p>
<div class="table-contents">
<table summary="Properties of Writer" cellspacing="0" cellpadding="10" style="border-collapse: collapse;border-top: 0.5pt solid ; border-bottom: 0.5pt solid ; border-left: 0.5pt solid ; border-right: 0.5pt solid ; ">
<colgroup>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">Name of property</th>
<th style="border-bottom: 2 solid #000000; " align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                            modelSlot
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                            Sets the name of the model slot that will be written out.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; border-bottom: 2 solid #000000; " align="left">
                            cloneSlotContents
                        </td>
<td style="border-bottom: 2 solid #000000; " align="left">
                            This boolean value determines if the model contained in the
                            specified slot will be cloned before it will be written out
                            into a resource.
                        </td>
</tr>
<tr>
<td style="border-right: 2 solid #000000; " align="left">
                            multipleResourcesInCaseOfLists
                        </td>
<td style="" align="left">
                            This boolean property specifies the writing behavior in the case
                            that the specified model slot contains a list of models. If this property
                            is set to <span class="emphasis">
<em>true</em>
</span>, each model will be written into a
                            separate resource. Otherwise, all models will be written into a single
                            resource.
                        </td>
</tr>
</tbody>
</table>
</div>
</div>
<br class="table-break"/>
</div>
</div>
</body>
</html>
